Making header of out-of-tree module available
I have a recipe which builds my own (out-of-tree) driver module - this packages/installs the module fine. (It's recipe has "inherit module").
Now I'm writing a recipe to build a library which uses the driver. What's needed to get the driver's header file 'exported' so that it can be included by the library's recipe?
Thanks
You don't, you make your library depends on your driver, and not on kernel exported headers. In my case I add the header to the -dev package and make the library compilation depend on kernel module.
# kernel-module-foo.bb
FILES_${PN}-dev = "/usr/include/foo/linux/foo.h"# libfoo.bb DEPENDS = "kernel-module-foo"
Cheers
2017-01-30 13:37 GMT-02:00 <[email protected]>:
Quoted 18 lines
I have a recipe which builds my own (out-of-tree) driver module – this packages/installs the module fine. (It’s recipe has “inherit module”).
Now I’m writing a recipe to build a library which uses the driver. What’s needed to get the driver’s header file ‘exported’ so that it can be included by the library’s recipe?
Thanks
--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto
Signature · 2 lines
*"Do or do not. There is no try"* *Yoda Master*
Thanks Daniel,
I’ve given that a try, but the header isn’t appearing (with ‘bitbake rfctrl’) anywhere but the module’s own workdir.
It’s recipe is
SUMMARY = " RF driver"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"
inherit module
SRC_URI = "file://Makefile \
file://rfctrl.c \
file://rfctrl.h \
file://COPYING \
"FILES_${PN}-dev = "/usr/include/rfctrl/linux/rfctrl.h"
S = "${WORKDIR}"
With a makefile:
obj-m := rfctrl.o
SRC := $(shell pwd)
all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)
modules_install:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install
clean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers
From: Daniel. [mailto:[email protected]]
Sent: 30 January 2017 16:46
To: [email protected]
Cc: [email protected]
Subject: Re: [yocto] Making header of out-of-tree module available
You don't, you make your library depends on your driver, and not on kernel exported headers. In my case I add the header to the -dev package and make the library compilation depend on kernel module.
# kernel-module-foo.bb <http://kernel-module-foo.bb>
FILES_${PN}-dev = "/usr/include/foo/linux/foo.h"
# libfoo.bb <http://libfoo.bb>
DEPENDS = "kernel-module-foo"
Cheers
2017-01-30 13:37 GMT-02:00 <[email protected] <mailto:[email protected]> >:
I have a recipe which builds my own (out-of-tree) driver module – this packages/installs the module fine. (It’s recipe has “inherit module”).
Now I’m writing a recipe to build a library which uses the driver. What’s needed to get the driver’s header file ‘exported’ so that it can be included by the library’s recipe?
Thanks
--
_______________________________________________
yocto mailing list
[email protected] <mailto:[email protected]>
https://lists.yoctoproject.org/listinfo/yocto
Signature · 2 lines
"Do or do not. There is no try" Yoda Master
do_install_append() {
install -d ${D}/usr/include/nrf24/linux/
install -m 0755 ${S}/include/linux/nrf24.h${D}/usr/include/nrf24/linux/
}
Try something like this ^
Regards,
2017-01-30 15:05 GMT-02:00 <[email protected]>:
Quoted 133 lines
Thanks Daniel,
I’ve given that a try, but the header isn’t appearing (with ‘bitbake rfctrl’) anywhere but the module’s own workdir.
It’s recipe is
SUMMARY = " RF driver"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM= "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"inherit module
SRC_URI= "file://Makefile \file://rfctrl.c \ file://rfctrl.h \ file://COPYING \ "FILES_${PN}-dev = "
/usr/include/rfctrl/linux/rfctrl.h"S = "${WORKDIR}"
With a makefile:
obj-m := rfctrl.o
SRC := $(shell pwd)
all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)
modules_install:$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_installclean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers
*From:* Daniel. [mailto:[email protected]]
*Sent:* 30 January 2017 16:46
*To:* [email protected]
*Cc:* [email protected]
*Subject:* Re: [yocto] Making header of out-of-tree module availableYou don't, you make your library depends on your driver, and not on kernel exported headers. In my case I add the header to the -dev package and make the library compilation depend on kernel module.
# kernel-module-foo.bbFILES_${PN}-dev = "
/usr/include/foo/linux/foo.h"# libfoo.bbDEPENDS = "kernel-module-foo"
Cheers
2017-01-30 13:37 GMT-02:00 <[email protected]>:
I have a recipe which builds my own (out-of-tree) driver module – this packages/installs the module fine. (It’s recipe has “inherit module”).
Now I’m writing a recipe to build a library which uses the driver. What’s needed to get the driver’s header file ‘exported’ so that it can be included by the library’s recipe?
Thanks
--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yocto--
*"Do or do not. There is no try"*
* Yoda Master*
Signature · 2 lines
*"Do or do not. There is no try"* *Yoda Master*
At your kernel-module-<foo>.bb
:)
2017-01-30 15:13 GMT-02:00 Daniel. <[email protected]>:
Quoted 153 lines
do_install_append() { install -d ${D}/usr/include/nrf24/linux/ install -m 0755 ${S}/include/linux/nrf24.h${D}/usr/include/nrf24/linux/
}Try something like this ^
Regards,
2017-01-30 15:05 GMT-02:00 <[email protected]>:
Quoted 128 lines
Thanks Daniel,
I’ve given that a try, but the header isn’t appearing (with ‘bitbake rfctrl’) anywhere but the module’s own workdir.
It’s recipe is
SUMMARY = " RF driver"
LICENSE = "GPLv2"
LIC_FILES_CHKSUM= "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e"inherit module
SRC_URI= "file://Makefile \file://rfctrl.c \ file://rfctrl.h \ file://COPYING \ "FILES_${PN}-dev = "
/usr/include/rfctrl/linux/rfctrl.h"S = "${WORKDIR}"
With a makefile:
obj-m := rfctrl.o
SRC := $(shell pwd)
all:
$(MAKE) -C $(KERNEL_SRC) M=$(SRC)
modules_install:$(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_installclean:
rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c
rm -f Module.markers Module.symvers modules.order
rm -rf .tmp_versions Modules.symvers
*From:* Daniel. [mailto:[email protected]]
*Sent:* 30 January 2017 16:46
*To:* [email protected]
*Cc:* [email protected]
*Subject:* Re: [yocto] Making header of out-of-tree module availableYou don't, you make your library depends on your driver, and not on kernel exported headers. In my case I add the header to the -dev package and make the library compilation depend on kernel module.
# kernel-module-foo.bbFILES_${PN}-dev = "
/usr/include/foo/linux/foo.h"# libfoo.bbDEPENDS = "kernel-module-foo"
Cheers
2017-01-30 13:37 GMT-02:00 <[email protected]>:
I have a recipe which builds my own (out-of-tree) driver module – this packages/installs the module fine. (It’s recipe has “inherit module”).
Now I’m writing a recipe to build a library which uses the driver. What’s needed to get the driver’s header file ‘exported’ so that it can be included by the library’s recipe?
Thanks
--
_______________________________________________
yocto mailing list
[email protected]
https://lists.yoctoproject.org/listinfo/yoctoQuoted 5 lines
--
*"Do or do not. There is no try"*
* Yoda Master*--
*"Do or do not. There is no try"*
*Yoda Master*
Signature · 2 lines
*"Do or do not. There is no try"* *Yoda Master*